-- Filename：	LookActivity.lua
-- Author：		2100
-- Date：		2024-10-3
-- Purpose：    查看活动数据
module("SweepAllLayer" , package.seeall)

require "script/ui/tip/AnimationTip"
require "script/ui/main/SweepAll"
require "script/ui/main/LingdiSweep"
require "script/utils/LuaUtil"
require "script/utils/extern"
require "script/libs/LuaCC"
require "script/utils/BaseUI"
require "script/ui/main/GetActivityInfo"

local group_height = 127 -- 每一组的外框高度，不建议小于127

--在这个里面添加即可（该文件只需修改_sweepTab里面的内容）,每组按钮个数最多为6，超过6个可能会有重叠
local _sweepTab={
    {
        -- ["1"]=
        {
            ["title"] = "一键扫荡",--按钮组标题
            ["text"] = "一键扫荡",--按钮显示文本
            ["func"] = SweepAll.sweep,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "更新数据",--按钮显示文本
            ["func"] = SweepAll.startRequestRefershData,--点击按钮调用的函数
        },
        -- ["3"]=
        {
            ["text"] = "更新体耐",--按钮显示文本
            ["func"] = SweepAll.updateUserInfo,--点击按钮调用的函数
        },
        -- ["4"]=
        {
            ["text"] = "结缘修炼",--按钮显示文本
            ["func"] = SweepAll.worldplace_occuOther,--点击按钮调用的函数
        },
        -- ["5"]=
        -- {
        --     ["text"] = "贮金领取",--按钮显示文本
        --     ["func"] = SweepAll.zhujin,--点击按钮调用的函数
        -- },
        {
            ["text"] = "查看活动",--按钮显示文本
            ["func"] = function()
                AnimationTip.showTip("查看活动")
                GetActivityInfo.preGetActivityInfo()
            end,--点击按钮调用的函数
        },
        {
            ["text"] = "气球任务领取",--按钮显示文本
            ["func"] = SweepAll.anniveleven_recvTaskReward,--点击按钮调用的函数
        },
    },
    {
        -- ["1"]=
        {
            ["title"] = "一键扫荡",--按钮组标题
            ["text"] = "世界扫荡",--按钮显示文本
            ["func"] = SweepAll.guildarmy_attack,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "世界刷新",--按钮显示文本
            ["func"] = SweepAll.guildarmy_refresh,--点击按钮调用的函数
        },
        -- ["3"]=
        {
            ["text"] = "悬赏任务",--按钮显示文本
            ["func"] = SweepAll.rewardtask_donateItem,--点击按钮调用的函数
        },
        -- ["4"]=
        {
            ["text"] = "跨服悬赏",--按钮显示文本
            ["func"] = SweepAll.worldrewardtask_donateItem,--点击按钮调用的函数
        },
        -- ["5"]=
        {
            ["text"] = "神秘商店刷新",--按钮显示文本
            ["func"] = SweepAll.mysteryshop_playerRfrGoodsList,--点击按钮调用的函数
        },
    },
    {
        -- ["1"]=
        {
            ["title"] = "一键扫荡",--按钮组标题
            ["text"] = "副本推图",--按钮显示文本
            ["func"] = SweepAll.ncopy_getCopyList,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "夺宝",--按钮显示文本
            ["func"] = SweepAll.fragseize_oneKeySeize_set_num_UI,--点击按钮调用的函数
        },
        -- ["3"]=
        {
            ["text"] = "竞技场",--按钮显示文本
            ["func"] = SweepAll.arena_challenge_set_num_UI,--点击按钮调用的函数
        },
        -- ["4"]=
        {
            ["text"] = "副本扫荡",--按钮显示文本
            ["func"] = SweepAll.ncopy_sweep_set_num_UI,--点击按钮调用的函数
        },
        -- ["5"]=
        {
            ["text"] = "比武",--按钮显示文本
            ["func"] = SweepAll.compete_contest_set_num_UI,--点击按钮调用的函数
        },
        

    },
    {
        -- ["1"]=
        {
            ["title"] = "梦魇试炼塔",--按钮组标题
            ["text"] = "免费重置",--按钮显示文本
            ["func"] = SweepAll.tower_resetTower2,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "金币重置",--按钮显示文本
            ["func"] = SweepAll.tower_resetTower_gold2,--点击按钮调用的函数
        },
        -- -- ["3"]=
        -- {
        --     ["text"] = "扫荡",--按钮显示文本
        --     ["func"] = SweepAll.tower_sweep2,--点击按钮调用的函数
        -- },
        -- ["4"]=
        {
            ["text"] = "极速扫荡",--按钮显示文本
            ["func"] = SweepAll.tower_defeatMonster2,--点击按钮调用的函数
        },
    },
    {
        -- ["1"]=
        {
            ["title"] = "普通试炼塔",--按钮组标题
            ["text"] = "重置",--按钮显示文本
            ["func"] = SweepAll.tower_resetTower1,--点击按钮调用的函数
        },
        -- -- ["2"]=
        -- {
        --     ["text"] = "扫荡",--按钮显示文本
        --     ["func"] = SweepAll.tower_sweep1,--点击按钮调用的函数
        -- },
        -- ["3"]=
        {
            ["text"] = "极速扫荡",--按钮显示文本
            ["func"] = SweepAll.tower_defeatMonster1,--点击按钮调用的函数
        },
    },

    {
        -- ["1"]=
        {
            ["title"] = "后军领地",--按钮组标题
            ["text"] = "开始扫荡",--按钮显示文本
            ["func"] = LingdiSweep.lingdi_sweep_start,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "停止扫荡",--按钮显示文本
            ["func"] = LingdiSweep.lingdi_sweep_stop,--点击按钮调用的函数
        },
        -- ["3"]=
        {
            ["text"] = "查询id",--按钮显示文本
            ["func"] = SweepAll.showId,--点击按钮调用的函数
        },
    },
    -- {
    --     -- ["1"]=
    --     {
    --         ["title"] = "魔王阵容(默认不使用)",--按钮组标题
    --         ["text"] = "使用",--按钮显示文本
    --         ["func"] = SweepAll.useSavedFormation,--点击按钮调用的函数
    --     },
    --     -- ["2"]=
    --     {
    --         ["text"] = "不使用",--按钮显示文本
    --         ["func"] = SweepAll.unuseSavedFormation,--点击按钮调用的函数
    --     },
    -- },
    {
        -- ["1"]=
        {
            ["title"] = "魔王",--按钮组标题
            ["text"] = "累计10次",--按钮显示文本
            ["func"] = SweepAll.atk_demonboss10,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "累计15次",--按钮显示文本
            ["func"] = SweepAll.atk_demonboss15,--点击按钮调用的函数
        },
        -- ["3"]=
        {
            ["text"] = "累计20次",--按钮显示文本
            ["func"] = SweepAll.atk_demonboss20,--点击按钮调用的函数
        },
        -- ["4"]=
        {
            ["text"] = "累计30次",--按钮显示文本
            ["func"] = SweepAll.atk_demonboss30,--点击按钮调用的函数
        },
        -- ["5"]=
        {
            ["text"] = "累计50次",--按钮显示文本
            ["func"] = SweepAll.atk_demonboss50,--点击按钮调用的函数
        },
        -- ["6"]=
        {
            ["text"] = "停止攻打",--按钮显示文本
            ["func"] = SweepAll.stop_atk_demonboss,--点击按钮调用的函数
        },
    },
    {
        -- ["1"]=
        {
            ["title"] = "小游戏",--按钮组标题
            ["text"] = "小游戏1次",--按钮显示文本
            ["func"] = SweepAll.minigame_gainReward,--点击按钮调用的函数
        },
        -- ["2"]=
        {
            ["text"] = "小游戏10次",--按钮显示文本
            ["func"] = SweepAll.minigame_gainReward10,--点击按钮调用的函数
        },
        -- ["3"]=
        {
            ["text"] = "小游戏100次",--按钮显示文本
            ["func"] = SweepAll.minigame_gainReward100,--点击按钮调用的函数
        },
    },
}

local _bgLayer                  = nil
local backGround 				= nil
local second_bg  				= nil

function init( ... )
	_bgLayer                    = nil
	backGround 					= nil
	second_bg  					= nil
end

local function onTouchesHandler( eventType, x, y )
	if (eventType == "began") then
		-- print("began")
	    return true
    elseif (eventType == "moved") then
        -- print("moved")
    else
        -- print("end")
	end
end

local function onNodeEvent( event )
	if (event == "enter") then
        -- print("enter")
		_bgLayer:registerScriptTouchHandler(onTouchesHandler, false, -420, true)
		_bgLayer:setTouchEnabled(true)
	elseif (event == "exit") then
        -- print("exit")
		_bgLayer:unregisterScriptTouchHandler()
	end
end
-- 创建layer
function initLayer( ... )
	init()

	_bgLayer = CCLayerColor:create(ccc4(11,11,11,200))
    _bgLayer:registerScriptHandler(onNodeEvent)
    -- _bgLayer:registerScriptTouchHandler(onTouchesHandler,false,-600,true)
    -- _bgLayer:setTouchEnabled(true)
    local scene = CCDirector:sharedDirector():getRunningScene()
    scene:addChild(_bgLayer,1000,1)

	-- 创建背景
	backGround = CCScale9Sprite:create(CCRectMake(100, 80, 10, 20),"images/common/viewbg1.png")
    backGround:setAnchorPoint(ccp(0.5,0.5))
    backGround:setPosition(ccp(g_winSize.width*0.5,g_winSize.height*0.5 - 24))
    _bgLayer:addChild(backGround)
    -- 适配
    setAdaptNode(backGround)

    backGround:setContentSize(CCSizeMake(720*0.85, 1280*0.8))--扫荡任务框大小
    -- 标题
    local titlePanel = CCSprite:create("images/common/viewtitle1.png")
	titlePanel:setAnchorPoint(ccp(0.5, 0.5))
	titlePanel:setPosition(ccp(backGround:getContentSize().width/2, backGround:getContentSize().height-6.6 ))
	backGround:addChild(titlePanel)
	local titleLabel = CCLabelTTF:create("扫荡任务 V"..tostring(SweepAll.getVersion()), g_sFontPangWa, 33)
	titleLabel:setColor(ccc3(0xff, 0xe4, 0x00))
	titleLabel:setAnchorPoint(ccp(0.5,0.5))
	titleLabel:setPosition(ccp(titlePanel:getContentSize().width*0.5, titlePanel:getContentSize().height*0.5))
	titlePanel:addChild(titleLabel)

	-- 关闭按钮
	local menu = CCMenu:create()
    menu:setTouchPriority(-600)
	menu:setPosition(ccp(0, 0))
	menu:setAnchorPoint(ccp(0, 0))
	backGround:addChild(menu,3)
	local closeButton = CCMenuItemImage:create("images/common/btn_close_n.png", "images/common/btn_close_h.png")
	closeButton:setAnchorPoint(ccp(0.5, 0.5))
	closeButton:setPosition(ccp(backGround:getContentSize().width * 0.955, backGround:getContentSize().height*0.975 ))
	closeButton:registerScriptTapHandler(closeButtonCallback)
	menu:addChild(closeButton)

	-- 花纹 右边
 	local hua1 = CCSprite:create("images/hunt/hua.png")
 	hua1:setAnchorPoint(ccp(1,1))
 	hua1:setPosition(ccp(backGround:getContentSize().width-33,backGround:getContentSize().height-55))
 	backGround:addChild(hua1)
 	-- 左边
 	local hua2 = CCSprite:create("images/hunt/hua.png")
 	hua2:setAnchorPoint(ccp(1,1))
 	hua2:setPosition(ccp(33,backGround:getContentSize().height-55))
 	backGround:addChild(hua2)
 	hua2:setRotation(270)

	-- 二级背景
	second_bg = BaseUI.createContentBg(CCSizeMake(backGround:getContentSize().width*0.95,backGround:getContentSize().height*0.9))--背景大小
 	second_bg:setAnchorPoint(ccp(0.5,1))--设置对齐位置，ccp(0,0)是左下角，ccp(1,1)是右上角
 	second_bg:setPosition(ccp(backGround:getContentSize().width*0.5,titlePanel:getPositionY()-50))--设置位置
 	backGround:addChild(second_bg)

 	-- 创建任务列表
 	createTasksTableView()

end

-- 关闭按钮回调
function closeButtonCallback( tag, sender )

	if(_bgLayer)then
		_bgLayer:removeFromParentAndCleanup(true)
		_bgLayer = nil
	end

	require "script/ui/main/MainBaseLayer"
    require "script/ui/everyday/EverydayData"
	local isShowTip = EverydayData.getIsShowTipSprite()
	local menuItem = MainBaseLayer.getEverydayBtn()
	MainBaseLayer.showTipSprite(menuItem,isShowTip)
end

function createTasksTableView( ... )
	local cellSize = CCSizeMake(574, group_height)--cell大小
	local h = LuaEventHandler:create(function(fn, table, a1, a2) 	--创建
		local r
		if fn == "cellSize" then
			r = cellSize
		elseif fn == "cellAtIndex" then
			r = createCell(_sweepTab[a1+1])
		elseif fn == "numberOfCells" then
			r =  tableCount(_sweepTab)
		else
		end
		return r
	end)
    -- AnimationTip.showTip(math.floor(second_bg:getContentSize().width) ..",".. math.floor(second_bg:getContentSize().height))
	_tableView = LuaTableView:createWithHandler(h, CCSizeMake(math.floor(second_bg:getContentSize().width), math.floor(second_bg:getContentSize().height*0.97))) --430
	_tableView:setBounceable(true)
	_tableView:setTouchPriority(-601)
	_tableView:ignoreAnchorPointForPosition(false)
	_tableView:setVerticalFillOrder(kCCTableViewFillTopDown)
	_tableView:setAnchorPoint(ccp(0.5,0.5))
	_tableView:setPosition(ccp(second_bg:getContentSize().width*0.5,second_bg:getContentSize().height*0.5))
	second_bg:addChild(_tableView)
end

function createCell( tcellData )
    local cell = CCTableViewCell:create()
    -- 背景
    local fullRect = CCRectMake(0,0,116,127)--背景图原始大小
    local insetRect = CCRectMake(50,43,16,6)
    local cellBg = CCScale9Sprite:create("images/everyday/cell_bg.png",fullRect, insetRect)
    cellBg:setContentSize(CCSizeMake(574,group_height))
    cellBg:setAnchorPoint(ccp(0,0))
    cellBg:setPosition(ccp(0,0))
    cell:addChild(cellBg)
    -- 按钮组标题
    local titlePanel = CCSprite:create("images/common/viewtitle1.png")
	titlePanel:setAnchorPoint(ccp(0.5, 0.5))
	titlePanel:setPosition(ccp(cellBg:getContentSize().width/2, cellBg:getContentSize().height-35 ))
    titlePanel:setScaleY(0.8 * titlePanel:getScaleY())
	cellBg:addChild(titlePanel)
	local titleLabel = CCLabelTTF:create(tcellData[1].title, g_sFontName, 22)
	titleLabel:setColor(ccc3(0xff, 0xe4, 0x00))
	titleLabel:setAnchorPoint(ccp(0.5,0.5))
	titleLabel:setPosition(ccp(titlePanel:getContentSize().width*0.5, titlePanel:getContentSize().height*0.5))
    titleLabel:setScaleY(1.25 * titleLabel:getScaleY())
	titlePanel:addChild(titleLabel)
    local button_num = tableCount(tcellData)
    --多个按钮
    for k,v in pairs(tcellData) do
        local index = tonumber(k)
        --创建按钮
        local rewardMenu = BTSensitiveMenu:create()
		rewardMenu:setTouchPriority(-602)
		rewardMenu:setPosition(ccp(0,0))
		cellBg:addChild(rewardMenu)
        local rewardMenuItem = CCMenuItemImage:create("images/common/btn/green01_n.png","images/common/btn/green01_h.png")
        rewardMenuItem:setAnchorPoint(ccp(0.5,0.5))
        rewardMenuItem:setPosition(ccp(cellBg:getContentSize().width/(button_num*2)*(index*2-1), cellBg:getContentSize().height*0.5-30))
        rewardMenu:addChild(rewardMenuItem,1,0)
        rewardMenuItem:registerScriptTapHandler(v.func)
        --按钮标签
        local item_font = CCRenderLabel:create(v.text , g_sFontName, 22, 1, ccc3( 0x00, 0x00, 0x00), type_stroke)
        item_font:setColor(ccc3(0xfe, 0xdb, 0x1c))
        item_font:setAnchorPoint(ccp(0.5,0.5))
        item_font:setPosition(ccp(rewardMenuItem:getContentSize().width*0.5,rewardMenuItem:getContentSize().height*0.5))
        rewardMenuItem:addChild(item_font)
    end
	return cell
end

--得到table中所有元素的个数
function tableCount ( t_table )
    if type(t_table) ~= "table" then
        return 0
    end
    local tNum = 0
    for k,v in pairs(t_table) do
        tNum = tNum + 1
    end
    return tNum
end

